Systems and methods for adaptive curation of rendered digital assets within a virtual workspace in a collaboration system

ABSTRACT

Systems and methods are provided for implementing adaptive curation of digital assets displayed on a virtual workspace in a collaborative session between network nodes hosted in part by a collaboration system. The system includes logic to retrieve, from a server-side network node, a spatial event map identifying events in the virtual workspace. The virtual workspace comprises locations having virtual coordinates. The events identified by the spatial event map are related to digital assets within the virtual workspace. The system includes logic to identify a local client viewport in the virtual workspace. The system includes logic to render, in the display space on the display, a curated set of digital assets of the plurality of digital assets. The digital assets of the curated set include only digital assets identified as first priority digital assets and exclude other digital assets not identified as being first priority digital assets.

PRIORITY APPLICATION

This application claims the benefit of U.S. Provisional PatentApplication No. 63/168,990, filed on 31 Mar. 2021, which application isincorporated herein by reference.

FIELD OF INVENTION

The present technology relates to collaboration systems that enableusers to actively participate in collaboration sessions from multiplegeographic locations.

BACKGROUND

Collaboration systems are used in a variety of environments to allowusers to participate in content review. Users of a collaboration systemcan join collaboration sessions from locations around the world. Acollaboration system can be, for example, integrated into a videoconferencing system.

A virtual workspace associated with a collaboration session (asimplemented by a collaboration system) can accumulate hundreds,thousands or even hundreds of thousands of digital assets such asdocuments, spreadsheets, slide decks, images, videos, line drawings,etc. over a period of time as participants collaborate on a project. Asthe number of digital assets increase, it becomes difficult to navigatethe workspace to review the most relevant digital assets for the currentcollaboration session. The meeting participants can be overwhelmed whenpresented with large number of digital assets. Precious meeting time canbe wasted while navigating through a large number of digital assets toidentify digital assets relevant for current meeting.

An opportunity arises to increase efficiency of collaboration meetingsby automatically organizing digital assets in a workspace and presentingthe most relevant digital assets to meeting participants so that theycan efficiently and quickly navigate to the most relevant content forthe current meeting.

SUMMARY

A system and method for operating a collaboration system are provided.The system and method enable adaptive curation of digital assetsdisplayed on a virtual workspace in a collaborative session betweennetwork nodes hosted in part by the collaboration system. Thecollaboration system comprises a client-side network node including adisplay having a physical display space. The client-side network nodecan be configured with logic to implement the operations presentedherein. The client-side network node can be configured with logic toimplement the operation of retrieving a spatial event map from aserver-side network node. The spatial event map can identify events in avirtual workspace. The virtual workspace can comprise locations havingvirtual coordinates. The events identified by the spatial event map arerelated to digital assets within the virtual workspace. The client-sidenetwork node can be configured with logic to implement the operation ofidentifying a local client viewport in the virtual workspace. The localclient viewport can represent a location and dimensions in the virtualworkspace including a plurality of digital assets. The client-sidenetwork node can be configured with logic to implement the operation ofrendering a first curated set of digital assets of the plurality ofdigital assets in the display space on the display. The first curatedset of digital assets are included in the location and dimensions in thevirtual workspace represented by the local client viewport. The digitalassets of the first curated set include only digital assets identifiedas first priority digital assets and exclude other digital assets, ofthe plurality of digital assets, not identified as being first prioritydigital assets.

In one implementation, the client-side network node is furtherconfigured with logic to implement the operation of receiving an input,via the display space, to display digital assets identified as secondpriority digital assets. The system includes logic to implement theoperation of rendering, in response to the input, a second curated setof digital assets of the plurality of digital assets. The digital assetsof the second curated set include only digital assets identified assecond priority digital assets and exclude other digital assets, of theplurality of digital assets, not identified as being second prioritydigital assets, such that only digital assets of the first and secondcurated sets are rendered.

The disclosed systems and methods can be used to implement a third, afourth, and a fifth curated set of digital assets, respectivelyincluding a third, a fourth, and a fifth priority digital assets. Thesystem and method can be used to implement further curated sets ofdigital assets such as up to a tenth curated set of digital assetsincluding a tenth priority digital assets.

In one implementation, the client-side network node is furtherconfigured with logic to implement the operation of rendering, inresponse to a participant selection of a second zoom level, the firstcurated set of digital assets which is associated with a first zoomlevel and the second curated set of digital assets which is associatedwith the second zoom level. The client-side network node is configuredwith logic to exclude, from rendering, other digital assets, of theplurality of digital assets, not identified as being the first prioritydigital assets and not identified as being the second priority digitalassets.

Each of the digital assets of the first curated set of digital assetshas one or more attributes associated therewith. At least one of theattributes of each of the digital assets of the first curated set ofdigital assets matches or satisfies criteria included in curation dataconfigured for the collaboration session with the virtual workspace.

In one implementation, the one or more attributes associated with thedigital assets can be identified, at least in part, in the spatial eventmap. The curation data can also be included, at least in part, in thespatial event map.

In one implementation, the words or subject matter identified by one ofthe attributes of a first priority digital asset, of the first prioritydigital assets, matches or satisfies a portion of the criteria includedin the curation data. The matching or satisfied portion of the criteriaof the curation data identifies a frequently uttered phrase capturedfrom a conversation of participants during at least one of thecollaboration session and a previous collaboration session.

In one implementation, a region within the virtual workspace identifiedby one of the attributes of a first priority digital asset, of the firstpriority digital assets, matches or satisfies a portion of the criteriaincluded in the curation data. The matching or satisfied portion of thecriteria of the curation data identifies regions of the virtualworkspace that have been accessed a number of times, during at least oneof the collaboration session and a previous collaboration session, thatis above a threshold.

In one implementation, a region within the virtual workspace identifiedby one of the attributes of a first priority digital asset, of the firstpriority digital assets, matches or satisfies a portion of the criteriaincluded in the curation data. The matching or satisfied portion of thecriteria of the curation data identifies the top two regions of thevirtual workspace for which participants of at least one of thecollaboration session and a previous collaboration session have spentthe most time, as compared to other regions of the virtual workspace.

In one implementation, words or subject matter identified by one of theattributes of a first priority digital asset, of the first prioritydigital assets, matches or satisfies a portion of the criteria includedin the curation data. The matching or satisfied portion of the criteriaof the curation data identifies a title or subject matter indicator ofthe collaboration session.

In one implementation, words or subject matter identified by one of theattributes of a first priority digital asset, of the first prioritydigital assets, matches or satisfies a portion of the criteria includedin the curation data. The matching or satisfied portion of the criteriaof the curation data identifies one or more words in a meeting agendaassociated with the collaboration session.

In one implementation, a user name identified by one of the attributesof a first priority digital asset, of the first priority digital assets,matches or satisfies a portion of the criteria included in the curationdata. The matching or satisfied portion of the criteria of the curationdata identifies a name of a participant of the previous collaborationsession.

In one implementation, a department or job title identified by one ofthe attributes of a first priority digital asset, of the first prioritydigital assets, matches or satisfies a portion of the criteria includedin the curation data. The matching or satisfied portion of the criteriaof the curation data identifies a department or job title associatedwith one or more participants of the collaboration session.

In one implementation, an edit timestamp or an access timestampidentified by one of the attributes of a first priority digital asset,of the first priority digital assets, matches or satisfies a portion ofthe criteria included in the curation data. The matching or satisfiedportion of the criteria of the curation data identifies the top two mostrecently edited or accessed digital assets.

In one implementation, a score identified by one of the attributes of afirst priority digital asset, of the first priority digital assets,meets or exceeds a threshold score identified by the criteria includedin the curation data. The score can be calculated in dependence upon apredefined criterion. The threshold score can be set to a predefinedvalue and the predefined value can be adjusted by a user before orduring the collaboration session.

In one implementation, words or subject matter identified by one of theattributes associated with a page or portion of a first priority digitalasset, of the first priority digital assets, matches a portion of thecriteria included in the curation data. The matching portion of thecriteria of the curation data identifies a title or subject matterindicator of the collaboration session. The rendering renders the pageor the portion of the first priority digital asset.

In one implementation, the client-side network node is furtherconfigured with logic to implement the following operations. Theclient-side network node is configured with logic to implement theoperation of rendering an automatically populated graphical userinterface that identifies two or more attributes of the digital assetslocated within the local client viewport. The client-side network nodeis configured with logic to implement the operation of receiving aselection from a user of a particular attribute, of the two or moreattributes identified in the graphical user interface. The client-sidenetwork node is configured with logic to implement the operation ofrendering digital assets having an attribute that matches the particularattribute selected by the user.

In one implementation, each digital asset of a plurality of digitalassets within the virtual workspace has a score associated therewith.The client-side network node is further configured with logic toimplement operations including identifying a predetermined number of topscoring digital assets as belonging to the first curated set.

A method for hosting a collaboration session is disclosed. The methodincludes retrieving, by a client-side network node including a displayhaving a physical display space and from a server-side network node, aspatial event map identifying events in a virtual workspace. The virtualworkspace can comprise locations having virtual coordinates. The eventsidentified by the spatial event map are related to digital assets withinthe virtual workspace. The method includes identifying a local clientviewport in the virtual workspace, the local client viewportrepresenting a location and dimensions in the virtual workspaceincluding a plurality of digital assets. The method includes rendering,in the display space on the display, a first curated set of digitalassets of the plurality of digital assets that are included in thelocation and dimensions in the virtual workspace represented by thelocal client viewport. The digital assets of the first curated setinclude only digital assets identified as first priority digital assetsand exclude other digital assets, of the plurality of digital assets,not identified as being first priority digital assets.

A collaboration system hosting a collaboration session, betweenclient-side network nodes is disclosed. Each client-side network nodecan include a display having a physical display space and a processor.The collaboration system can comprise a server-side network nodeconfigured with logic to implement operations presented herein. Theserver-side network node is configured with logic to implement theoperation of establishing a collaboration session between theclient-side network nodes. The server-side network node is configuredwith logic to implement the operation of receiving an identification ofa virtual workspace. Within the collaboration session, the server-sidenetwork node is configured with logic to implement the operation ofproviding, to the client-side network nodes, a spatial event map. Thespatial event map identifies events in the virtual workspace. Thevirtual workspace comprises locations having virtual coordinates. Theevents identified by the spatial event map can be related to digitalassets within the virtual workspace. The spatial event map allows foridentification, for the client-side network nodes, of a local clientviewport in the virtual workspace. The local client viewport representsa location and dimensions in the virtual workspace including a pluralityof digital assets. The spatial event map allows for rendering, in thedisplay space on the display of each of the client-side network nodes, afirst curated set of digital assets of the plurality of digital assetsthat are included in the location and dimensions in the virtualworkspace represented by the local client viewport. The digital assetsof the first curated set include only digital assets identified as firstpriority digital assets and exclude other digital assets, of theplurality of digital assets, not identified as being first prioritydigital assets.

Computer program products which can execute the methods presented aboveare also described herein (e.g., a non-transitory computer-readablerecording medium having a program recorded thereon, wherein, when theprogram is executed by one or more processors the one or more processorscan perform the methods and operations described above).

Other aspects and advantages of the present technology can be seen onreview of the drawings, the detailed description, and the claims, whichfollow.

BRIEF DESCRIPTION OF THE DRAWINGS

The technology will be described with respect to specific embodimentsthereof, and reference will be made to the drawings, which are not drawnto scale, and in which:

FIGS. 1A and 1B illustrate example aspects of a system implementingadaptive curation of a virtual workspace in a collaboration session.

FIGS. 2A, 2B, and 2C include user interface examples of presenting acurated set of digital assets in the display space on a graphicaldisplay.

FIGS. 3A, 3B, 3C, 3D, 3E, 3F and 3G present example data structures thatcan be used to implement adaptive curation of digital assets in avirtual workspace.

FIGS. 4A and 4B include flowcharts presenting process steps performed atthe client-side network node for displaying curated set of digitalassets.

FIG. 5 is a flowchart presenting process steps performed at theserver-side network node for displaying curated set of digital assets indisplay space on a graphical display.

FIG. 6 includes a flowchart presenting process steps for adaptivecuration of workspace including API messages for communication betweenthe server-side network node and the client-side network node.

FIG. 7 is a schematic of a computer system implementing the adaptiveworkspace navigation technology.

DETAILED DESCRIPTION

A detailed description of embodiments of the present technology isprovided with reference to the FIGS. 1-7.

The following description is presented to enable a person skilled in theart to make and use the technology, and is provided in the context of aparticular application and its requirements. Various modifications tothe disclosed embodiments will be readily apparent to those skilled inthe art, and the general principles defined herein may be applied toother embodiments and applications without departing from the spirit andscope of the present technology. Thus, the present technology is notintended to be limited to the embodiments shown, but is to be accordedthe widest scope consistent with the principles and features disclosedherein.

Environment

We describe a collaboration environment in which users participate in aninteractive collaboration session from network nodes located across theworld. A user or a participant can join and participate in thecollaboration session, using display clients, such as browsers, forlarge format digital displays, desktop and laptop computers, or mobilecomputing devices. Collaboration systems can be used in a variety ofenvironments to allow users to contribute and participate in contentgeneration and review. Users of collaboration systems can joincollaboration sessions from remote locations around the globe.Participants of a collaboration meeting can share digital assets withother participants in a shared workspace (also referred to as a virtualworkspace). The digital assets can be documents such as word processorfiles, spreadsheets, slide decks, notes, program code, etc. Digitalassets can also be graphical objects such as images, videos, linedrawings, annotations, etc.

In some cases, participants can work collaboratively on projects forweeks, months or even years. In such projects, many collaborationsessions can be conducted over the course of time. Such collaborationprojects can include a large number of digital assets sometimeshundreds, thousands or hundreds of thousands of digital assets that areincluded in the virtual workspace associated with the collaborationproject. Examples of such collaboration projects can include productionof an animated movie which can include hundreds of thousands of imagesthat are reviewed by director, producers, actors, graphic designers,etc. during preparation and rehearsals. Other examples can include amilitary operations command center in which reports and battlefieldimages from different areas are received and reviewed by the militaryleadership for decision making. Navigating to the relevant digital assetin virtual workspaces with so many digital assets can be challenging.This can also waste a considerable amount of useful meeting time. Insome cases, this can impact the timeliness of the decisions. Thetechnology disclosed automatically presents the most relevant digitalassets to meeting participants in a collaboration session. Thetechnology disclosed is related to curating digital assets displayed ina virtual workspace on digital displays, such that the most relevant ormost important digital assets are initially presented to theparticipants according to various criteria, factors, etc.

The technology disclosed can include a processing engine that canreceive and process multiple input signals during a collaborationsession and assign tags or labels to digital assets. For example, thedigital assets can have attributes assigned thereto and the assignedattributes can have values associated therewith. The values can includekeywords, phrases, numeric values, etc. The attributes, tags, or labelsassociated with digital assets can be used to prioritize the digitalassets according to their level of relevance or importance with respectto the current collaboration session. The processing engine can beimplemented as a software component of a software agent. The processingengine or the software agent can be deployed at a server or implementedin a distributed manner in a client-server architecture.

The technology disclosed includes logic to arrange digital assets incurated sets with respective priority levels (or levels of relevance).At the start of a collaboration session, the technology disclosedpresents digital assets to meeting participants in a workspace that areat the highest level of importance (e.g., first priority). This enablesthe participants to quickly identify a digital assets that are relevantto their discussion for current collaboration session. The technologydisclosed includes logic that allows the meeting participants to drilldown from the top level of digital assets to digital assets at a nextlower level in the hierarchy of digital assets, etc.

The technology disclosed can thus be considered to organize the digitalassets in layers of hierarchy. The layers (or levels) at the top includedigital assets considered more important for (relevant to) the currentcollaboration session based on configured curation data. In other words,the technology disclosed enables meeting participants to efficientlynavigate to content that is most relevant to their discussion bydrilling down to assets in deeper or lower layers of digital assets inthe virtual workspace.

FIG. 1A illustrates example aspects of a digital display collaborationenvironment. In the example, a plurality of users 101 a, 101 b, 101 c,101 d, 101 e, 101 f, 101 g and 101 h (collectively 101), may desire tocollaborate with each other, including sharing digital assets including,for example, complex images, music, video, documents, and/or othermedia, all generally designated in FIG. 1A as 103 a, 103 b, 103 c and103 d.

The digital assets can be stored in an external system such as acloud-based storage system or locally within the collaboration systemsuch as on a resource server or a local storage. Throughout thisdocument the term “collaboration system” can encompasses a videoconferencing system that is part of the collaboration system or that isseparate from the collaboration system. Resource servers can includelogic to maintain security protocols protecting access to the digitalassets independent of a workspace. Others digital assets may beavailable to participants in the workspace without further securityprotocols.

The users in the illustrated example can use a variety of devicesconfigured as electronic network nodes (e.g., client-side networknodes), in order to collaborate with each other, for example a tablet102 a, a personal computer (PC) 102 b, and many large format displays102 c, 102 d, 102 e. The network nodes can be positioned in locationsaround the world. The user devices, which can be referred to as(client-side) network nodes, have display clients, such as browsers,controlling displays (e.g., a physical display space) on which adisplayable area (e.g., a local client screen space) is allocated fordisplaying digital assets in a workspace. The displayable area (localclient screen space) for a given user may comprise the entire screen ofthe display (physical display space), a subset of the screen, a windowto be displayed on the screen and so on. The display client can set a(client) viewport in the workspace, which identifies an area (e.g., alocation and dimensions) in the coordinate system of the workspace, tobe rendered in the displayable area (local client screen space).

The display clients at client-side network nodes 102 a, 102 b, 102 c,102 d, 102 e are in network communication with a collaboration server107 configured at a server-side network node. The collaboration server107 can maintain participant accounts, by which access to one or moreworkspace data sets can be controlled. A workspace database 109 (alsoreferred to as event stack map or spatial event map) accessible by thecollaboration server 107 can store the workspace data sets, which cancomprise spatial event maps. The attributes of the client-side networknodes 102 a, 102 b, 102 c, 102 d and 102 e and curation data related toa virtual workspace and/or collaboration session can be stored by thecollaboration server 107 within, for example the workspace data sets andspatial event maps, and can be communicated from the collaborationserver 107 to the client-side network nodes 102 a, 102 b, 102 c, 102 dand 102 e and vice-versa. The collaboration server 107 can alsoestablish video conference sessions between the client-side networknodes 102 a, 102 b, 102 c, 102 d and 102 e for simultaneous videoconferencing and virtual workspace collaboration.

The collaboration server 107 can include or communicate with an adaptivecuration engine 106. Additionally, the client-side network nodes 102 a,102 b, 102 c, 102 d and 102 e can include the adaptive curation engine106. The adaptive curation engine 106 includes logic to determine acurated set of digital assets of the plurality of digital assets thatare included in the location and dimensions in the virtual workspace. Inone implementation, the adaptive curation engine 106 is implementedpartially on the server-side and partially on the client-side in adistributed manner. It is understood that other implementations of theadaptive curation engine 106 are possible i.e., implementing theadaptive curation engine 106 completely on the server-side orimplementing the adaptive curation engine 106 completely on theclient-side.

The adaptive curation engine 106 includes logic to generate or identifya plurality of curated sets of digital assets. For example, a firstcurated set of digital assets can be identified to include only digitalassets identified as first priority digital assets and can exclude otherdigital assets, of the plurality of digital assets, not identified asbeing first priority digital assets. Similarly, the adaptive curationengine 106 includes logic generate or identify a second curated set ofdigital assets that includes only digital assets identified as secondpriority digital assets and excludes other digital assets, of theplurality of digital assets, not identified as being second prioritydigital assets. The technology disclosed can generate or identify up tothousands of curated sets of digital assets according to the determinedpriority or relevance of the digital assets. Therefore, the technologydisclosed helps participants of the meeting to efficiently focus on onlya specific number of curated sets of digital assets at a time. Theparticipants of the collaboration session can selectively drill down thehierarchy of digital assets by selecting a curated set of digital assetsat a particular priority ranking (or zoom level) in the hierarchy. Themore important (or relevant) digital assets are included in the higherlevel (such as first, second, third, etc.) priority levels.

The prioritization of digital assets can be based on attributesassociated with respective digital assets. The adaptive curation enginematches one or more attributes of the digital assets to curation dataconfigured for the virtual workspace of the collaboration session toassign digital assets to different sets of curated digital assets. Inone implementation, the one or more attributes associated with thedigital assets are identified, at least in part, in the spatial eventmap. In one implementation, the curation data is included, at least inpart, in the spatial event map. The curation data can be received, atleast in part, as an input by/from one or more client-side networknodes. The input can be received via the digital display associated withthe client-side network node or via other input sources such as a voicesignal (or voice command) provided to the client-side network node.

The technology disclosed can use a variety of matching criteria of thecuration data to prioritize digital assets and assign the digital assetsto a plurality of curated sets of digital assets according to theirrespective prioritization.

The (matching) criteria of the curation data can identify a frequentlyuttered phrase or a plurality of phrases captured from a conversation ofparticipants (during a previous collaboration session, during a currentcollaboration session or at any other time). Based on whether thecriteria of the curation data matches (or satisfies) one or moreattributes of digital assets, the digital assets can be assigned to acorresponding curated set. For example, if a particular digital assethas two or more attributes that match the criteria of the curation data,then that particular digital asset can be assigned to a first curatedset of digital assets (e.g., the most relevant set of digital assets).Further, if another digital asset has only one attribute that matchesthe criteria of the curation data, then the other digital asset can beassigned to a second (e.g., less relevant) curated set of digitalassets. Moreover, if a digital asset does not have any attribute thatmatches the criteria of the curation data, then the digital asset can beexcluded from any curated set of digital assets or it can be assigned toa curated set that identifies the least relevant digital assets. As aresult, digital assets that are aligned with previous conversations ofcollaboration participants can be (initially) rendered during a currentcollaboration session.

The criteria of the curation data can identify regions of the virtualworkspace that have been accessed a number of times (during some timeconstraint or other type of constraint) that is above a threshold. Forexample, the criteria can specify that a particular region of thevirtual workspace should be identified as being the most relevant ifthat region has been accessed a certain X number of times during aspecific time frame or during a certain number of previous collaborationsessions. Similarly, the criteria can specify that a particular regionof the virtual workspace should be identified as being the second mostrelevant if that region has been accessed a certain Y number of times,etc. If one or more attributes of a digital asset indicate that thedigital asset is located in a region that has been accessed the certainX number of times (or more), then the digital asset can be assigned tothe first curated set of digital assets. Similarly, if one or moreattributes of a digital asset indicate that the digital asset is locatedin a region that has been accessed the certain Y number of times (ormore), then the digital asset can be assigned to the second curated setof digital assets, etc. Additionally, the criteria of the curation datacan identify the top X number of regions for which participants of thecollaboration session and/or a previous collaboration session have spentthe most time, as compared to other regions of the virtual workspace.The attributes of the digital assets can be used to determine whichdigital assets match the criteria and then the digital assets can beappropriately assigned to curation sets. For example, the digital assetslocated in the top two regions can be assigned to the first curated set,the digital assets located the top 3^(rd) to 5^(th) regions can beassigned to the second curates set, etc. As a result, digital assetsthat are located in regions of the virtual workspace that are morepopular during previous collaboration sessions can be (initially)rendered in the current collaboration session.

Another example of criteria of the curation data can include identifyinga title or subject matter indicator of the collaboration session. If thetitle or subject matter of the collaboration session matches attributesof digital assets, then those matching digital assets can be included inthe first curated set. If the title or subject matter of thecollaboration session more loosely matches attributes of digital assets,then those loosely matching digital assets can be included in the secondcurated set, etc. As a result, digital assets that are related to thetitle or subject matter of the collaboration session will be (initially)rendered during the collaboration session.

An example of criteria of the curation data can include identifying oneor more words in a meeting agenda associated with the collaborationsession. If a certain number of words (or keywords) of the agenda matchattributes of digital assets, then those matching digital assets can beincluded in the first curated set. If a fewer number of words (orkeywords) than the certain number of words (or keywords) matchattributes of digital assets, then those matching digital assets can beincluded in the second curated set, etc. As a result, digital assetsthat are related to the agenda of the collaboration session will be(initially) rendered during the collaboration session.

An example of criteria of the curation data can include identifying aname of a participant of the current collaboration session involving thevirtual workspace. If an attribute of a digital asset identifies a nameof a user that matches the participant of the current collaborationsession, then that digital asset can be included in the first curatedset of digital assets. This concept can be carried out using time dataor data from previous collaboration sessions, with respect to a userthat has interacted with a particular digital asset. For example, theattributes of the digital assets can associate a digital asset with auser who viewed/edited/manipulated/etc. that digital asset and canindicate how long ago or how many previous collaboration sessions agothat user viewed/edited/manipulated/etc. the digital asset. That digitalasset can be assigned to a particular curated set based on criteria setforth in the curated data, such that the criteria assigns the digitalasset to the curated set according to how long ago and/or how many timesthe user (that matches the participant of the current collaborationsession) previously viewed/edited/manipulated/etc. the digital asset. Asa result, digital assets, for which the various participants of thecurrent collaboration session have had frequent or recent interactionwith, will be part of a curated set that is (initially) rendered duringthe collaboration session.

Another example of criteria of the curation data can include identifyinga department or job title associated with one or more participants ofthe collaboration session. If an attribute of a digital asset matchesthe department or job title of a participant of the currentcollaboration session, then the digital asset can be assigned to aparticular curated set. Departments and/or job titles can also beranked, such that digital assets associated with higher rankingpositions or departments can be assigned to a first curated set anddigital assets associated with lower ranking positions or departmentscan be assigned to a second curated set. As a result, digital assetsthat are related to departments and/or job titles of participants of acurrent collaboration can be (initially) rendered during thecollaboration session.

An example of criteria of the curation data can include, a top mostrecently edited and/or accessed digital asset. If an edit timestampand/or an access timestamp of a digital asset qualifies it as a top mostrecently edited and/or accessed digital asset, then the digital assetcan be assigned to a particular curated set. For example, the top twomost recently edited and/or accessed digital assets, of all of thedigital assets can be assigned to the first curated set, the top 3 to 5most recently edited and/or accessed digital assets, of all of thedigital assets can be assigned to the second curated set, etc. As aresult, more popular digital assets, where popularity can be based ontime/history and frequency, can be assigned to higher ranking curatedsets.

Additionally, an example of criteria of the curation data can includeusing threshold scores, wherein digital assets have scores associatedtherewith and if a score of a particular digital asset exceeds aparticular threshold score, then that particular digital asset can beassigned to a curation set associated with that particular thresholdscore. The threshold scores can be set and adjusted by users and/or bythe collaboration system and the scores associated with the digitalassets can be set and adjusted by users and/or by the collaborationsystem using any type of criteria described herein or elsewhere. Forexample, the threshold scores can be manually adjusted by a participantto shrink or grow the various curated sets of digital assets.

Furthermore, the top X scoring digital assets can be assigned to thefirst curated set, then the next top Y scoring digital assets can beassigned to the second curated set, etc.

Another example of criteria of the curation data can include using atitle or subject matter indicator of the collaboration section to matchup with words or subject matter identified by one of the attributesassociated with a page or portion of a digital asset. Then theparticular page or portion of the digital asset can be renderedaccordingly. As a result, particularly relevant pages or portions ofdigital assets will be rendered during the collaboration session so thatthe participants not only receive an identification of the relevantdigital assets, but also receive an identification of the particularpage(s) and/or portion(s) of the digital asset that are the mostrelevant to the title or subject matter (or some other criteria) of thecollaboration session.

Other examples of curation data to prioritize digital assets can includesuch as “meeting relevance”, “participant relevance”, “recently viewed”etc.

As used herein, a network node is an active electronic device that isattached to a network, and is capable of sending, receiving, orforwarding information over a communications channel. Examples ofelectronic devices which can be deployed as network nodes, include allvarieties of computers, display walls, workstations, laptop and desktopcomputers, handheld computers and smart phones.

As used herein, the term “database” does not necessarily imply any unityof structure. For example, two or more separate databases, whenconsidered together, still constitute a “database” as that term is usedherein.

The operation of a network node to implement adaptive curation ofdigital assets in a collaboration session (such as a video conference)with other network nodes can be hosted in part by a collaborationsystem. This can include establishing the video conference between theother network nodes. The network node and each of the other networknodes can include a display having a physical display space, a userinput device, a processor and a communication port.

We now describe some elements of the collaboration system beforepresenting further details of the technology disclosed.

Workspace

A collaboration session can include access to a data set having acoordinate system establishing a virtual space, termed the “workspace”or “virtual workspace”, in which digital assets are assigned coordinatesor locations in the virtual space. The workspace can be characterized bya multi-dimensional and in some cases two-dimensional Cartesian planewith essentially unlimited extent in one or more dimensions for example,in such a way that new content can be added to the space, that contentcan be arranged and rearranged in the space, that a user can navigatefrom one part of the space to another. The workspace can also bereferred to as a “container” in the sense it is a data structure thatcan contain other data structures or links to other objects or datastructures.

Viewport

Display clients at participant client network nodes in the collaborationsession can display a portion, or mapped area, of the workspace, wherelocations on the display are mapped to locations in the workspace. Amapped area, also known as a viewport within the workspace is renderedon a physical screen space (e.g., a local client screen space). Becausethe entire workspace is addressable in for example Cartesiancoordinates, any portion of the workspace that a user may be viewingitself has a location, width, and height in Cartesian space. The conceptof a portion of a workspace can be referred to as a “viewport” or“client viewport”. The coordinates of the viewport are mapped to thecoordinates of the screen space (e.g., the local client screen space) onthe display client which can apply appropriate zoom levels based on therelative size of the viewport and the size of the screen space. Thecoordinates of the viewport can be changed which can change the objectscontained within the viewport, and the change would be rendered on thescreen space of the display client. Details of the workspace and theviewport are presented in our U.S. Pat. No. 11,126,325 (Atty. Docket No.HAWT 1025-1), entitled, “Virtual Workspace Including Shared ViewportMarkers in a Collaboration System,” filed 23 Oct. 2017, which isincorporated by reference as if fully set forth herein.

Spatial Event Map

Using a virtually unlimited workspace introduces a need to track howpeople and devices interact with the workspace over time. This can beachieved using a “spatial event map”. The spatial event map containsinformation needed to define objects and events in the workspace. It isuseful to consider the technology from the point of view of space,events, maps of events in the space, and access to the space by multipleusers, including multiple simultaneous users. The spatial event mapcontains information to define objects and events in a workspace. Thespatial event map can include events comprising data specifying virtualcoordinates of location within the workspace at which an interactionwith the workspace is detected, data specifying a type of interaction, adigital asset associated with the interaction, and a time of theinteraction. The one or more attributes associated with the digitalassets can be identified, at least in part, in the spatial event map.The curation data can be included, at least in part, in the spatialevent map. The zoom level data can also be included in the spatial eventmap, identifying the zoom level or the priority level at which thedigital assets are displayed on the display space in the digitaldisplay.

The spatial event map contains and/or identifies content in theworkspace for a given collaboration session. The spatial event mapdefines arrangement of digital assets (or objects) on the workspace. Thespatial event map contains information needed to define digital assets,their locations, and events in the workspace. The collaboration systemmaps portions of workspace to a digital display e.g., a touch enableddisplay using the spatial event map. Further details of the workspaceand the spatial event map are presented in U.S. Pat. No. 10,304,037,entitled, “Collaboration System Including a Spatial Event Map,” filedNov. 26, 2013, which is incorporated by reference as if fully set forthherein.

Events

Interactions with the workspace are handled as events. People, viatangible user interface devices, and systems can interact with theworkspace. Events have data that can define or point to a target digitalasset to be displayed on a physical display, and an action as creation,modification, movement within the workspace and deletion of a targetdigital asset, and metadata associated with them. Metadata can includeinformation such as originator, date, time, location in the workspace,event type, security information, and other metadata.

Tracking events in a workspace enables the system to not only presentthe events in a workspace in its current state, but to also share theevents with multiple users on multiple displays, to share relevantexternal information that may pertain to the content, and understand howthe spatial data evolves over time. Also, the spatial event map can havea reasonable size in terms of the amount of data needed, while alsodefining an unbounded workspace.

FIG. 1B illustrates the same environment as in FIG. 1A. The applicationrunning at the collaboration server 107 can be hosted using Web serversoftware such as Apache or nginx. It can be hosted for example onvirtual machines running operating systems such as LINUX. Thearchitecture can involve systems of many computers, each running serverapplications, as is typical for large-scale cloud-based services. Thecollaboration server 107 can include or can be in communication with aserver and authorization engine that includes communication moduleswhich can be configured for various types of communication channels,including more than one channel for each client (e.g., network node) ina collaboration session. For example, using near-real-time updatesacross the network, client software 112 can communicate with thecommunication modules via using a message-based channel, based forexample on the Web Socket protocol. For file uploads as well asreceiving initial large volume workspace data, the client software 112can communicate with a server communication module of, for example, thecollaboration server 107, via HTTP. The server and authorization enginecan run front-end programs written for example in JavaScript and HTMLusing Node.js, support authentication/authorization based for example onOAuth, and support coordination among multiple distributed clients(e.g., network nodes). The front-end programs can be written using otherprogramming languages and web-application frameworks such as inJavaScript served by Ruby-on-Rails. The server communication module caninclude a message-based communication protocol stack, such as a WebSocket application, that performs the functions of recording useractions in workspace data (e.g., a spatial event map), and relaying useractions to other clients (e.g., network nodes) as applicable. Parts ofthe collaboration system can run on a node.JS platform for example, oron other server technologies designed to handle high-load socketapplications.

The collaboration server 107 can include or can be in communication withdatabase 109. As mentioned above, the event map stack database 109includes a workspace data set (e.g., a spatial event map) includingevents in the collaboration workspace and digital assets, such asdigital assets, distributed at virtual coordinates in the virtualworkspace. Examples of digital assets are presented above, such asimages, music, video, documents, application windows and/or other media.Other types of digital assets, such as digital assets can also exist onthe workspace such as annotations, comments, and text entered by theusers. The database can also store attributes of digital assets andcuration data that is matched to the values of attributes to selectcurated sets of digital assets. In one implementation, the attributescan be assigned weights which can indicate which attributes are moreimportant than others. In such implementation, a combination ofattribute values can be used to assign digital assets to curated sets ofdigital assets. When using combination of attributes, equal weight canbe assigned to different attributes of digital assets, or a weightedcombination of attributes can be used to assign digital assets tocurated sets of digital assets.

We now present various examples of user interface elements that can beused to provide functionality related to starting a collaborationsession (or collaboration meeting), adding one or more workspaces to thecollaboration session, including creating and implementing adaptivecuration of digital assets during the collaboration session. The systemsdescribed above with reference to FIGS. 1A and 1B can be implemented toestablish and conduct the various types of collaboration sessionsdescribed below. As illustrated in FIG. 1B, and as discussed in furtherdetailed below with reference to FIGS. 2A, 2B and 2C, the client-sidenetwork nodes 102 c, 102 d and 102 e provide a user interface thatallows the user (participant of the collaboration session) toselect/change zoom levels that results in the rendering of differentcurated sets of digital assets and also provide a user interface thatallows the user to adjust filtering criteria generated based on theattributes of the digital assets.

Curating Digital Assets in a Collaboration Session

FIGS. 2A to 2C present user interface examples of a display space on adigital display associated with the client-side network node 102 c. Atitle 201 of the meeting can be displayed at top of the display spaceand a zoom level of the current display space 202 can also be displayedon the display space. A “zoom level-1” corresponds with first prioritydigital assets. The first priority digital assets can include the mostimportant digital assets for a collaboration session or the mostrelevant digital assets as determined by matching of the curation datawith attribute values associated with the digital assets. The example inFIG. 2A shows seven digital assets labeled as 207, 209, 211, 213, 215,217, and 219 at zoom level-1. The digital assets displayed at zoomlevel-1 can be considered as the digital assets included in the firstcurated set of digital assets. These digital assets are identified asfirst priority digital assets which can indicate that these digitalassets are the most important digital assets for the currentcollaboration session using the curation data selected forprioritization of digital assets.

FIG. 2A also shows a “curation data selection” user interface element205 and a “select zoom level” user interface element 203. The curationdata selection user interface element lists some examples of curationdata that can be used to prioritize digital assets in the curated set ofdigital assets. One or more user curation data can be selected using thecuration data selection user interface element 205 to prioritize thedigital assets for the collaboration session. Some example of curationdata listed in the FIG. 2A include frequently viewed, frequentlydiscussed, time spent, meeting relevance, participant relevance andrecently viewed, etc. Additional curation data can be included, theabove listed curation data is an example. FIG. 2A shows that “frequentlyviewed” criterion is selected for prioritization of digital assets byusing the checkbox. The curation data selection user interface element205 can be populated by analyzing the various attributes of the digitalassets within the virtual workspace, such that the participant isprovided with a visualization of some or all of the attributes of thevarious digital assets and such that the user can select or de-selectvarious attributes related to the digital assets and essentially filterout the undesired attributes (or the digital assets associated with theundesired attributes).

The “select zoom level” user interface element 203 can be used by themeeting participants to drill down from the first priority digitalassets to review digital assets that are not included in the firstpriority digital assets. The current zoom level is set at “level 1.”therefore, the first priority (or the top level) digital assets aredisplayed on the display space. During the discussion in collaborationsession, the meeting participants may want to review more digital assetswhich are not included in the first priority digital assets. The userinterface element 203 can be used to display a zoomed in view of thedigital assets at deeper levels of hierarchy by selecting zoom level-2,zoom level-3, and so on. The zoom level can be adjusted in many otherways as wells, such as by holding down certain keys on a keyboard andscrolling a mouse, by using two or three-finger pinching gestures on atouch screen or a non-touch screen gesture environment or by using voicecommands.

FIG. 2B shows that a digital asset 209 is selected by one of theparticipants of the collaboration for drilling down to view furtherdigital assets at zoom level-2. The selected digital asset 209 is shownin a circle of broken line. The participant can then select zoom level“2” using the user interface element 203. Zoom level can be adjustedwithout a participant selecting one of the digital assets. However, byselecting one of the digital assets (e.g., digital asset 209), thesubsequent zooming operation can be centered around the selected digitalasset and/or it can be performed to use criteria for the zoomingoperation that is based on attributes and/or additional criteria relatedto the selected digital asset.

FIG. 2C shows the digital assets in the zoom level-2 displayed on thedisplay space of the graphical display 102 c. The select zoom level userinterface element 203 shows that the current zoom level is “2”. Thecurrent zoom level is also displayed on the top-right corner of thedisplay 102 c indicated by a label 202. Note that the digital asset 209which was selected by the meeting participant is displayed in the middleof the display space. In addition, the example in FIG. 2C shows digitalassets labeled as 231, 233, 235, 237, 239, 241, and 243 displayed on thedisplay space in the digital display 102 c. The digital assets 231 to243 listed above are the second priority digital assets which areincluded the second curated set of digital assets. The curation dataselected for the current example is “frequently viewed”. This means thatthe digital assets in the second priority digital assets are lessfrequently viewed as compared to the digital assets in the firstpriority digital assets. For example, the digital assets in the firstpriority digital assets are viewed at least ten times in the last twocollaboration sessions. Or the digital assets in the first prioritydigital assets are viewed at least ten times in one week. Otherthreshold values such as greater than 10 views or less than 10 views canbe used for the first priority digital assets. Similarly, otherthreshold values can be set for second priority digital assets. Forexample, in one instance, the digital assets in second priority digitalassets are viewed at least five times in the last two collaborationsessions. Or the digital assets in the second priority digital assetsare viewed at least five times in one week.

FIG. 2C shows one implementation of the technology disclosed in whichone digital asset 209 which is a first priority digital asset includedin the first curated set of digital assets is displayed in zoom level-2.The rest of the digital assets displayed in zoom level-2 are secondpriority digital assets included in the second curated set of digitalassets. This can be a result of a participant of the collaborationsession selecting digital asset 209 prior to selecting zoom level-2. Inanother implementation, a particular digital asset (such as the digitalasset 209) is not selected prior to changing the zoom level. In suchimplementation, a participant can change the zoom level using the userinterface element 203 without selecting a digital asset and the digitalassets of the prior zoom level may not be displayed on the displayspace. For example, in such implementation, the digital asset 209 is notdisplayed on the display screen in FIG. 2C. In yet anotherimplementation, when a participant selects zoom level-2 when the currentdisplay of the digital assets is at zoom level-1, the digital assets atzoom level-1 are also displayed along with the digital assets at zoomlevel-2 after the zoom level is updated on the display space. In thefollowing sections we describe some scoring techniques that can be usedto prioritize digital assets.

Scoring the Events

The participants in a collaboration session can perform a variety ofinteractive tasks in the workspace. For example, a user can touch adocument in the workspace to open that document, annotate on thedocument that is open in the workspace, or share the document with otherusers, etc. A task performed by a user can result in a number ofinteraction events generated by the system. Additionally, the technologydisclosed enables multiple users to interact with the collaborationworkspace at the same time. The technology disclosed can assign scoresto interaction events. Some types of events can be assigned a higherlevel of importance (reflected in higher score) than others. Thetechnology disclosed can group interaction events in categories. Thetechnology disclosed can calculate a collaboration score for a group ofevents in a category by accumulating scores in all events in thatcategory. The events and categories can be weighted. In anotherembodiment, the technology disclosed can calculate collaboration scorefor digital assets by accumulating scores for all events related to thatasset. The collaboration score can be calculated for a participant andfor a collaboration session by accumulating scores of respective events.Details of calculation of collaboration score (also referred to ascreative collaboration index or CCI) are presented in our U.S.application Ser. No. 16/591,415 (Atty. Docket No. HAWT 1029-2),entitled, “Systems and Methods for Determining a Creative CollaborationIndex,” filed Oct. 2, 2019, which is included in this application andfully set forth herein.

Scoring the Digital Assets

The technology disclosed can also score events related to a digitalasset based on the time spent by the participants on an asset. The teammembers can work on a project outside a meeting or a collaborationsession. This can be referred to as offline interaction. Individual teammembers can create, edit, comment, annotate, or collate digital assetsin the workspace. During a collaboration session, the team members canwork as a group and perform similar tasks during a collaborationsession. During the meetings or collaboration sessions, the meetingparticipants can spend more time on some of the digital assets. Forexample, if participants spend a significant amount of time discussing aslide deck, the technology disclosed can increase the score for theevents related to the slide deck to reflect the relevance of the slidedeck to meeting participants. The technology disclosed can also assignhigh score to particular portions of digital assets if more time isspent by the participants on those portions. For example, ifparticipants of the meeting spend most of the time on one or two slidesof the slide deck, the technology disclosed can assign higher score tothose slides in the slide deck. The scores assigned to the digitalassets or portions of the digital assets can be used in labeling thedigital assets with tags representing layers of hierarchy. The digitalassets at the highest level (or top layer) are then displayed in a nextcollaboration session at the start of the meeting.

Capturing and Combining Signals to Prioritize Digital Assets

The technology disclosed can capture audio signals, such as conversationbetween meeting participants during a collaboration session. Thetechnology disclosed can then link the audio signals with interactionevents or activities performed by participants on the digital assets inthe workspace occurring at the same time. For example, if participantsof the meeting spend a considerable amount of time in discussion while aparticular slide in a slide deck is displayed on the digital display,then the system assigns a high score to that slide. If meetingparticipants switch between two slides in the slide deck during theirconversation and spend a considerable amount of conversation time whileone of the two slides is displayed on the digital display, then thesystem assigns high scores to both slides in the slide deck. Similarly,the system can assign high scores to other assets that are opened on thedigital display when the conversation between the participants isoccurring. The system can also use other inputs to determine the contentwith which the participants are interacting during the meeting such ascommenting, annotating, editing, sharing, moving, etc. The system canperform natural language processing (NLP) to determine keywords in audiosignals of the conversation and match the keywords to digital assets orportions of digital assets. The system can assign high scores to digitalassets or portions of digital assets that are either displayed on thedigital for a longer period of duration or they are referred to duringthe conversation of the participants.

The system can correlate the voice content collected from conversationsbetween meeting participants and activities on the digital assets atdifferent time intervals (such as every 10 seconds, every 30 seconds,every minute, every 5 minutes, every 10 minutes). The system can alsoanalyze how team members are contributing outside of meetings, thenumber of team members who are contributing by performing activities onwhich digital assets, and how much time they are spending on digitalassets outside the meeting. Therefore, in addition to the activitiesperformed by meeting participants in the meeting, the system can performanalysis of voice content of conversations in time intervals such astranscript analysis using natural language processing or othertranscript analysis techniques. In that time duration, the system canidentify the location of participants' activities in the workspace andthe digital assets with which the participants are interacting. Thesystem can include this information in calculation of scores for digitalassets for the information evolution model, identifying the mostimportant digital assets for a next collaboration meeting. Thetechnology disclosed can perform the above scoring on groups orcollections of digital assets.

The technology disclosed can analyze audio signals of conversationsbetween participants (also referred to as voice context) with activitiesin the spatial event map. The system can assign scores to digital assetsby current activity level identified by the events in the spatial eventmap. The system can also assign score to events based on categories ofevents as presented in our U.S. application Ser. No. 16/591,415 (Atty.Docket No. HAWT 1029-2), entitled, “Systems and Methods for Determininga Creative Collaboration Index,” referenced above and included in thisapplication and fully set forth herein. The system can also includeother scoring schemes to score the digital assets or assign labels todigital assets. The labels assigned to digital assets can be used whenmatching curation data to the attributes associated with digital assets.The digital assets with top scores or in a highest range of scores canbe assigned to first curated set of digital assets identified as firstpriority digital assets. The digital assets with lower score areassigned to second curated set of digital assets identified as secondpriority digital assets and so on. Therefore, the technology disclosedcan organize the digital assets in a hierarchical organization ofdigital assets. The system can include up to 10 or more layers ofhierarchy to help meeting participants quickly curate content forcollaboration meeting.

Additional Scoring Criteria

The system can apply additional criteria when calculating scores fordigital assets. For example, a security model vector can be appliedwhich includes information about which users have access to whichdocument. The security model can have different roles assigned to users.User can have access to authorized digital assets or portions of digitalassets. For example, when a meeting owner logs in to the system, thesystem can display digital assets in the first curated set of digitalassets to which the owner has access. Therefore, when the meetingstarts, the meeting owner can see the see the most important documentsfor the current meeting displayed on the digital display. The system canalso display portions of the document that are of high value for currentmeeting. For example, a document may have ten pages but only two pagesthat are most important ones for the current meeting are displayed. Themeeting owner or any other participant can interact with the workspaceto see the next level of detail by zooming in. The zoom level-2 maydisplay eight more pages of the document which were not shown at zoomlevel-1.

The system may also display annotations on the document pages in thelower zoom level which were not displayed in the higher zoom level (suchas zoom level-1). Then the user can drill down further, and the systemcan show more digital assets in the workspace such as images, videos,comments related to the document which were not shown at the higher zoomlevels. Note that the scoring for the digital assets can include acombination of multiple input signals during a period of time such asactivities being performed on the document, voice context determinedfrom the audio signals and any other criteria such as security model.

Workspace Data Structures

FIGS. 3A-3G represent data structures which can be part of workspacedata maintained by a database at the collaboration server 107.

In FIG. 3A, an events data structure is illustrated. An event is aninteraction with the workspace that can result in a change in workspacedata. An event can include an event identifier, and a meetingidentifier. Other attributes that can be stored in the events datastructure can include a user identifier, a timestamp, a sessionidentifier, an event type parameter, the client identifier, and an arrayof locations in the workspace, which can include one or more locationsfor the corresponding event. It is desirable for example that thetimestamp have resolution on the order of milliseconds or even finerresolution, in order to minimize the possibility of race conditions forcompeting events affecting a single object. Also, the event datastructure can include a UI target, which identifies an object (such as adigital asset) in the workspace data to which a stroke on a touchscreenat a client display is linked. Events can include a curation dataidentifier (or curation_id) to indicate the curation data used toprioritize digital assets. Events data can also include a zoom leveldata field to identify current zoom level at which the digital assetsare displayed on the display space. Events can include style events,which indicate the display parameters of a stroke for example. Theevents can include a text type event, which indicates entry,modification, or movement in the workspace of a text object. The eventscan include a card type event, which indicates the creation,modification, or movement in the workspace of a card type object. Theevents can include a stroke type event which identifies a location arrayfor the stroke, and display parameters for the stroke, such as colorsand line widths for example.

Events can be classified as persistent, history events and as ephemeralevents. Processing of the events for addition to workspace data, andsharing among users can be dependent on the classification of the event.This classification can be inherent in the event type parameter, or anadditional flag or field can be used in the event data structure toindicate the classification.

A spatial event map can include a log of events having entries forhistory events, where each entry comprises a structure, such asillustrated in FIG. 3A. The server-side network node includes logic toreceive messages carrying ephemeral and history events from client-sidenetwork nodes, and to send the ephemeral events to other client-sidenetwork nodes without adding corresponding entries in the log, and tosend history events to the other client-side network nodes while addingcorresponding entries to the log.

FIG. 3B presents a curations data structure. The curations datastructure can include a curation identifier, a description of thecuration data and a weight of the curation data. A higher weight can beassigned to some curation data than others. When multiple curation dataare selected to prioritize digital assets, the curation data can becombined using their respective weights. For example, if “frequentlyviewed” curation data has a weight of “2” and “meeting relevance”curation data has a weight of “1”, then during prioritization, the“frequently viewed” criterion will be given twice as much weight as“meeting relevance” criterion. The curations data structure can alsoinclude other fields such as a “type” field which can identify acategory or type of curation data. Examples of curation data types caninclude content-related curation data, participant-related curationdata, time-related curation data, recency-related curation data, etc. Itis understood that other types of curation data and curation data typesare possible and can be added as further use cases of the technologydisclosed are implemented.

FIG. 3C presents a meetings data structure. The meetings data structureincludes a meeting identifier, a description data, a start time and anend time of the meeting. The meeting data structure can include otherfields such as a meeting agenda, number of participants, a departmentidentifier, a virtual workspace identifier, a timestamp etc. Thedescription data can include keywords or topics discussed in themeeting. This can be used to prioritize meetings based on keywords ortopics related curation data. The meeting agenda data can includedetails of the topics discussed in the meeting which can also be used toprioritize meetings. A plurality of meetings can be associated with avirtual workspace. The meeting data 3C is linked to the events data 3Avia a foreign key such as meeting identifier (or meeting_id) in theevents data structure 3A. The events can be used to identify digitalassets. Over a period of time as meetings are conducted, the meetingdata accumulates and can be used to prioritize the digital assets bymatching with curation data.

The system can also include a card data structure 3D. The card datastructure can provide a cache of attributes that identify current stateinformation for a digital asset in the workspace data, including asession identifier, a card type identifier, an array identifier, theclient identifier, dimensions of the cards, type of file associated withthe card, and a session location within the workspace.

The system can include a chunks data structure 3E which consolidates anumber of events and objects into a cacheable set called a chunk. Thedata structure includes a session ID, and identifier of the eventsincluded in the chunk, and a timestamp at which the chunk was created.

The system can include a user session data structure 3F for links to auser participating in a session in a chosen workspace. This datastructure can include a session access token, the client identifier forthe session display client, the user identifier linked to the displayclient, a parameter indicating the last time that a user accessed asession, and expiration time and a cookie for carrying variousinformation about the session. This information can, for example,maintain a current location within the workspace for a user, which canbe used each time that a user logs in to determine the workspace data todisplay at a display client to which the login is associated. A usersession can also be linked to a meeting. One or more than one user canparticipate in a meeting. A user session data structure can identify themeeting in which a user participated in during a given collaborationsession. Linking a user session to a meeting enables the technologydisclosed to determine the identification of the users and the number ofusers who participated in the meeting.

The system can include a display array data structure 3G which can beused in association with large-format displays that are implemented byfederated displays, each having a display client. The display clients insuch federated displays cooperate to act as a single display. Theworkspace data can maintain the display array data structure whichidentifies the array of displays by an array ID, and identifies thesession position of each display. Each session position can include anx-offset and a y-offset within the area of the federated displays, asession identifier, and a depth. We now present process steps forimplementing adaptive curation of virtual workspace using curated datasets of digital assets.

Process Flowcharts

FIGS. 4A to 6 present process flowcharts for conducting a collaborationsession including adaptive curation of virtual workspaces containingdigital assets. The flowcharts illustrate logic executed by clients(network nodes), a server (collaboration server) or both. The logic canbe implemented using processors programmed using computer programsstored in memory accessible to the computer systems and executable bythe processors, by dedicated logic hardware, including fieldprogrammable integrated circuits, and by combinations of dedicated logichardware and computer programs. As with all flowcharts herein, it willbe appreciated that many of the steps can be combined, performed inparallel or performed in a different sequence without affecting thefunctions achieved. In some cases, as the reader will appreciate, are-arrangement of steps will achieve the same results only if certainother changes are made as well. In other cases, as the reader willappreciate, a re-arrangement of steps will achieve the same results onlyif certain conditions are satisfied. Furthermore, it will be appreciatedthat the flow charts herein show only steps that are pertinent to anunderstanding of the technology, and it will be understood that numerousadditional steps for accomplishing other functions can be performedbefore, after and between those shown.

Client-Side Process for Prioritizing Digital Assets Using Curation Data

FIGS. 4A and 4B present client-side process for displaying curated setsof digital assets that are prioritized according to the curation dataconfigured for the virtual workspace.

FIG. 4A is a flowchart 401 presenting high-level client-side process forstarting a collaboration session and displaying first priority digitalassets in the display space on a digital display. The process starts atoperation 405. The system includes logic to retrieve a spatial event mapfrom a server-side network node. The spatial event map identifies eventsin a virtual workspace. The virtual workspace can comprise locationshaving virtual coordinates. The events identified by the spatial eventmap are related to digital assets within the virtual workspace.

The system includes logic to detect whether a predefined prioritizationcriterion is included in the spatial event map using curation dataretrieved from the server (operation 407). If no predefined criterion isdefined, a default prioritization criterion can be used to prioritizedigital assets (operation 409). Any one of the prioritization criteriaas presented above such as “frequently viewed”, “frequently discussed”,“time spent”, “meeting relevance”, “participant relevance”, “recentlyviewed” etc. can be used to prioritize the digital assets. It isunderstood that one or more additional default criteria can be definedfor prioritization of digital assets. If a predefined prioritizationcriterion is included in the spatial event map using curation dataretrieved from the server, then the system can use that to prioritizedigital assets (operation 411). A predefined prioritization can be oneof the prioritization criteria listed above or a combination of two ormore criteria listed above. A weighted combination of the predefinedcriteria can also be used to prioritize the digital assets.

The system includes logic to render a first curated set of digitalassets in the display space on the display (operation 413). The firstcurated set of digital assets of the plurality of digital assets areincluded in the location and dimensions in the virtual workspacerepresented by the local client viewport. The system includes logic toreceive input events from graphical display at operation 415. Theprocess continues in a process flowchart presented in FIG. 4B.

FIG. 4B includes a flowchart 451 presenting process to change zoom leveland prioritization criterion for displaying digital assets on a displayspace in the digital display. If the system receives input via the userinterface on the graphical display requesting a change in zoom level(operation 453), the process continues at operation 457, otherwise, nochange in zoom level is made. The system includes logic to send an eventto the collaboration server including the selected zoom level (operation457). The system then receives an event from the collaboration server todisplay the digital assets at the selected zoom level in the virtualworkspace on the client-side node (operation 459).

If the system receives an input event via the user interface on thegraphical display to change the prioritization criteria (operation 461),the process continues at operation 467, otherwise no change is performedin the display of digital assets on the display space. The systemincludes logic to send an event with the selected curation data for newprioritization criterion to collaboration server (operation 467). Thesystem includes logic to receive an event to display digital assetsusing updated curation data corresponding to new prioritizationcriterion in the workspace on the client-side node (operation 469). Theevent can include updated curated set of digital assets for display onthe display space in the digital display.

Server-Side Process for Prioritizing Digital Assets Using Curated Data

FIG. 5 presents a process flowchart 501 presenting server-side processfor prioritizing digital assets using curation data configured for thevirtual workspace. The server includes logic to receive a user interfaceevent from a client-side node linked to a meeting owner or a meetingparticipant to start a collaboration session including participantidentifiers and a meeting identifier (operation 503). If aprioritization criterion is predefined using curation data (operation507) than the system can use that for prioritization of digital assets(operation 511) otherwise select default prioritization criterion(operation 509).

The server includes logic to use prioritization criterion to determinedigital assets at the selected zoom level (operation 513). The servercan then send the spatial event map including the curation dataidentifying prioritization criterion, zoom level and workspaceidentifier linked to the meeting (operation 515). The server can receiveuser interface events from the client-side node (operation 517). If theevent received from the client-side node includes an updated zoom level(operation 519), the process continues at operation 513.

The server can follow the process to display digital assets with firstand second level authorizations as described in the U.S. patentapplication Ser. No. 17/200,731, entitled, “User Experience ContainerLevel Identity Federation and Content Security” filed on Mar. 12, 2021(Attorney Docket No. 1032-2).

Client-Side Process for Adaptive Curation of Digital Assets IncludingReceiving a Spatial Event Map

FIG. 6 presents a process flowchart 601 including client-side processsteps to start a collaboration session, receive a spatial event map by aclient-side network node of the collaboration session, and rendercurated sets of digital assets on the display space. The orderillustrated in the simplified flow diagram is provided for the purposesof illustration, and can be modified as suits a particularimplementation. Many of the steps for example, can be executed inparallel.

The process starts at operation 605. The collaboration server providesan identifier of, or identifiers of parts of, the spatial event map (orSEM) which can be used by the client to retrieve the spatial event mapfrom the collaboration server. The client retrieves the spatial eventmap, or at least portions of it, from the collaboration server using theidentifier or identifiers provided at which the client-side nodereceives a spatial event map including the curation data forprioritization of digital assets. The spatial event map identifier canalso be used to identify the workspace (or canvas) attached to orassociated with the collaboration session. The virtual workspacecontains the digital assets for the participants of the collaborationsession. Further, the data from the server can also include zoom levelat which the digital assets will be displayed on the display space inthe graphical display.

For example, the client can request all history for a given workspace towhich it has been granted access as follows:

curl http://localhost:4545/<sessionId>/history

The server will respond with all chunks (each its own section of time):

[“/<sessionId>/history/<startTime>/<endTime>?b=1”][“/<sessionId>/history/<startTime>/<endTime>?b=1”]

For each chunk, the client will request the events:

Curl http: //localhost:4545/<sessionId>/history/<startTime>/<endTime>?b=<cache-buster>

Each responded chunk is an array of events and is cacheable by theclient:

[  [   4,    ″sx″,     ″4.4″,     [537, 650, 536, 649, 536, 648, ...],   {       “size″: 10,       ″color″: [0, 0, 0, 1],       ″brush″: 1     },     1347644106241,     ″cardFling″    ] ]

The individual messages might include information like position onscreen, color, width of stroke, time created etc.

The client then determines a viewport in the workspace, using forexample a server provided focus point, and display boundaries for thelocal display. The client-side node (network node) includes logic totraverse spatial event map (SEM) to gather display data (operation 607).The local copy of the spatial event map is traversed to gather displaydata for spatial event map entries that map to the displayable area forthe local display. At this step the system traverses spatial event mapto gather display data digital assets for spatial map events. In someembodiments, the client may gather additional data in support ofrendering a display for spatial event map entries within a cullingboundary defining a region larger than the displayable area for thelocal display, in order to prepare for supporting predicted userinteractions such as zoom level and pan within the workspace. Thedisplay data can include virtual workspace attached to collaborationsession. This data can also include coordinates indicating the boundaryof the virtual workspace.

The process continues at operation 609 at which the client-side nodedisplays the digital assets, at the selected zoom level and using theselected curation data, on the display of the client-side node. Theclient processor executes a process using spatial event map events anddisplay data to render parts of the spatial event map that fall withinthe viewport. The system includes logic to display digital assets. Inone implementation, specific parts of the digital assets such asparticular pages in a document or particular slides in a slide deck aredisplayed when the attributes of the digital assets match the curationdata.

The client-side network node can receive socket API messages (operation611). The client-side node can receive local user interface messages(operation 613). Also, the client-side node receives socket API messagesfrom the collaboration server. In response to local user interfacemessages, the client-side node can classify inputs as history events andephemeral events, send API messages on the socket to the collaborationserver for both history events and ephemeral events as specified by theAPI, the API message can include change zoom level requests, changecuration data to prioritize the digital assets using other criteria,update the cached portions of the spatial event map with history events,and produce display data for both history events and ephemeral events(operation 617). In response to the socket API messages, the client-sidenode can update the cached portion of the spatial event map with historyevents identified by the server-side network node, responds to APImessages on the socket as specified by the API, the API message caninclude change zoom level and/or change curation data events, andproduce display data for both history events and ephemeral events aboutwhich it is notified by the socket messages (operation 615).

The client-side node can detect receipt of a message from thecollaboration server to end the collaboration session (operation 619).The client-side node can then end the collaboration session and sendupdates to the spatial event map to the collaboration server.

Computer System

FIG. 7 is a simplified block diagram of a computer system, or networknode, which can be used to implement the client-side functions (e.g.computer system 110) or the server-side functions (e.g. server 107) in adistributed collaboration system. A computer system typically includes aprocessor subsystem 714 which communicates with a number of peripheraldevices via bus subsystem 712. These peripheral devices may include astorage subsystem 724, comprising a memory subsystem 726 and a filestorage subsystem 728, user interface input devices 722, user interfaceoutput devices 720, and a communication module 716. The input and outputdevices allow user interaction with the computer system. Communicationmodule 716 provides physical and communication protocol support forinterfaces to outside networks, including an interface to communicationnetwork 104, and is coupled via communication network 104 tocorresponding communication modules in other computer systems.Communication network 104 may comprise many interconnected computersystems and communication links. These communication links may bewireline links, optical links, wireless links, or any other mechanismsfor communication of information, but typically it is an IP-basedcommunication network, at least at its extremities. While in oneembodiment, communication network 104 is the Internet, in otherembodiments, communication network 104 may be any suitable computernetwork.

The physical hardware component of network interfaces are sometimesreferred to as network interface cards (NICs), although they need not bein the form of cards: for instance they could be in the form ofintegrated circuits (ICs) and connectors fitted directly onto amotherboard, or in the form of macrocells fabricated on a singleintegrated circuit chip with other components of the computer system.

User interface input devices 722 may include a keyboard, pointingdevices such as a mouse, trackball, touchpad, or graphics tablet, ascanner, a touch screen incorporated into the display (including thetouch sensitive portions of large format digital display such as 102 c),audio input devices such as voice recognition systems, microphones, andother types of tangible input devices. In general, use of the term“input device” is intended to include all possible types of devices andways to input information into the computer system or onto computernetwork 104.

User interface output devices 720 may include a display subsystem, aprinter, a fax machine, or non-visual displays such as audio outputdevices. The display subsystem may include a cathode ray tube (CRT), aflat panel device such as a liquid crystal display (LCD), a projectiondevice, or some other mechanism for creating a visible image. In theembodiment of FIG. 1B, it includes the display functions of large formatdigital display such as 102 c. The display subsystem may also providenon-visual display such as via audio output devices. In general, use ofthe term “output device” is intended to include all possible types ofdevices and ways to output information from the computer system to theuser or to another machine or computer system.

Storage subsystem 724 stores the basic programming and data constructsthat provide the functionality of certain embodiments of the presentinvention.

The storage subsystem 724 when used for implementation of server-sidenetwork-nodes, comprises a product including a non-transitory computerreadable medium storing a machine readable data structure including aspatial event map which locates events in a workspace, wherein thespatial event map includes a log of events, entries in the log having alocation of a graphical target of the event in the workspace and a time.Also, the storage subsystem 724 comprises a product including executableinstructions for performing the procedures described herein associatedwith the server-side network node.

The storage subsystem 724 when used for implementation of client sidenetwork-nodes, comprises a product including a non-transitory computerreadable medium storing a machine readable data structure including aspatial event map in the form of a cached copy as explained below, whichlocates events in a workspace, wherein the spatial event map includes alog of events, entries in the log having a location of a graphicaltarget of the event in the workspace and a time. Also, the storagesubsystem 724 comprises a product including executable instructions forperforming the procedures described herein associated with theclient-side network node.

For example, the various modules implementing the functionality ofcertain embodiments of the invention may be stored in storage subsystem724. These software modules are generally executed by processorsubsystem 714.

Memory subsystem 726 typically includes a number of memories including amain random access memory (RAM) 730 for storage of instructions and dataduring program execution and a read only memory (ROM) 732 in which fixedinstructions are stored. File storage subsystem 728 provides persistentstorage for program and data files, and may include a hard disk drive, afloppy disk drive along with associated removable media, a CD ROM drive,an optical drive, or removable media cartridges. The databases andmodules implementing the functionality of certain embodiments of theinvention may have been provided on a computer readable medium such asone or more CD-ROMs, and may be stored by file storage subsystem 728.The host memory 726 contains, among other things, computer instructionswhich, when executed by the processor subsystem 714, cause the computersystem to operate or perform functions as described herein. As usedherein, processes and software that are said to run in or on “the host”or “the computer,” execute on the processor subsystem 714 in response tocomputer instructions and data in the host memory subsystem 726including any other local or remote storage for such instructions anddata.

Bus subsystem 712 provides a mechanism for letting the variouscomponents and subsystems of a computer system communicate with eachother as intended. Although bus subsystem 712 is shown schematically asa single bus, alternative embodiments of the bus subsystem may usemultiple busses.

The computer system itself can be of varying types including a personalcomputer, a portable computer, a workstation, a computer terminal, anetwork computer, a television, a mainframe, a server farm, or any otherdata processing system or user device. In one embodiment, a computersystem includes several computer systems, each controlling one of thetiles that make up the large format display such as 102 c. Due to theever-changing nature of computers and networks, the description ofcomputer system 110 depicted in FIG. 7 is intended only as a specificexample for purposes of illustrating the preferred embodiments of thepresent invention. Many other configurations of the computer system arepossible having more or less components than the computer systemdepicted in FIG. 7. The same components and variations can also make upeach of the other devices 102 in the collaboration environment of FIG.1, as well as the collaboration server 107 and database 109.

Certain information about the drawing regions active on the digitaldisplay 102 c are stored in a database accessible to the computer system110 of the display client. The database can take on many forms indifferent embodiments, including but not limited to a MongoDB database,an XML database, a relational database, or an object oriented database.

The applicant hereby discloses in isolation each individual featuredescribed herein and any combination of two or more such features, tothe extent that such features or combinations are capable of beingcarried out based on the present specification as a whole in light ofthe common general knowledge of a person skilled in the art,irrespective of whether such features or combinations of features solveany problems disclosed herein, and without limitation to the scope ofthe claims. The applicant indicates that aspects of the presenttechnology may consist of any such feature or combination of features.In view of the foregoing description, it will be evident to a personskilled in the art that various modifications may be made within thescope of the technology.

The foregoing description of preferred embodiments of the presenttechnology has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit thetechnology to the precise forms disclosed. Obviously, many modificationsand variations will be apparent to practitioners skilled in this art.For example, though the displays described herein are of large format,small format displays can also be arranged to use multiple drawingregions, though multiple drawing regions are more useful for displaysthat are at least as large as 12 feet in width. In particular, andwithout limitation, any and all variations described, suggested by theBackground section of this patent application or by the materialincorporated by reference are specifically incorporated by referenceinto the description herein of embodiments of the technology. Inaddition, any and all variations described, suggested or incorporated byreference herein with respect to any one embodiment are also to beconsidered taught with respect to all other embodiments. The embodimentsdescribed herein were chosen and described in order to best explain theprinciples of the technology and its practical application, therebyenabling others skilled in the art to understand the technology forvarious embodiments and with various modifications as are suited to theparticular use contemplated. It is intended that the scope of thetechnology be defined by the following claims and their equivalents.

What is claimed is:
 1. A collaboration system hosting a collaborationsession, the collaboration system comprising: a client-side network nodeincluding a display having a physical display space, the client-sidenetwork node being configured with logic to implement operationsincluding: retrieving, from a server-side network node, a spatial eventmap identifying events in a virtual workspace, the virtual workspacecomprising locations having virtual coordinates, the events identifiedby the spatial event map being related to digital assets within thevirtual workspace; identifying a local client viewport in the virtualworkspace, the local client viewport representing a location anddimensions in the virtual workspace including a plurality of digitalassets; and rendering, in the display space on the display, a firstcurated set of digital assets of the plurality of digital assets thatare included in the location and dimensions in the virtual workspacerepresented by the local client viewport, the digital assets of thefirst curated set including only digital assets identified as firstpriority digital assets and excluding other digital assets, of theplurality of digital assets, not identified as being first prioritydigital assets.
 2. The system of claim 1, wherein the client-sidenetwork node is further configured with logic to implement operationsincluding: receiving an input, via the display space, to display digitalassets identified as second priority digital assets; and rendering, inresponse to the input, a second curated set of digital assets of theplurality of digital assets, the digital assets of the second curatedset including only digital assets identified as second priority digitalassets and excluding other digital assets, of the plurality of digitalassets, not identified as being second priority digital assets, suchthat only digital assets of the first and second curated sets arerendered.
 3. The system of claim 2, wherein the client-side network nodeis further configured with logic to implement operations including:rendering, in response to a participant selection of a second zoomlevel, the first curated set of digital assets which is associated witha first zoom level and the second curated set of digital assets which isassociated with the second zoom level and excluding, from rendering,other digital assets, of the plurality of digital assets, not identifiedas being the first priority digital assets and not identified as beingthe second priority digital assets.
 4. The system of claim 1, whereineach of the digital assets of the first curated set of digital assetshas one or more attributes associated therewith, and wherein at leastone of the attributes of each of the digital assets of the first curatedset of digital assets matches or satisfies criteria included in curationdata configured for the collaboration session with the virtualworkspace.
 5. The system of claim 4, wherein the one or more attributesassociated with the digital assets are identified, at least in part, inthe spatial event map.
 6. The system of claim 4, wherein the curationdata is included, at least in part, in the spatial event map.
 7. Thesystem of claim 4, wherein words or subject matter identified by one ofthe attributes of a first priority digital asset, of the first prioritydigital assets, matches or satisfies a portion of the criteria includedin the curation data, and wherein the matching or satisfied portion ofthe criteria of the curation data identifies a frequently uttered phrasecaptured from a conversation of participants during at least one of thecollaboration session and a previous collaboration session.
 8. Thesystem of claim 4, wherein a region within the virtual workspaceidentified by one of the attributes of a first priority digital asset,of the first priority digital assets, matches or satisfies a portion ofthe criteria included in the curation data, and wherein the matching orsatisfied portion of the criteria of the curation data identifiesregions of the virtual workspace that have been accessed a number oftimes, during at least one of the collaboration session and a previouscollaboration session, that is above a threshold.
 9. The system of claim4, wherein a region within the virtual workspace identified by one ofthe attributes of a first priority digital asset, of the first prioritydigital assets, matches or satisfies a portion of the criteria includedin the curation data, and wherein the matching or satisfied portion ofthe criteria of the curation data identifies top two regions of thevirtual workspace for which participants of at least one of thecollaboration session and a previous collaboration session have spentthe most time, as compared to other regions of the virtual workspace.10. The system of claim 4, wherein words or subject matter identified byone of the attributes of a first priority digital asset, of the firstpriority digital assets, matches or satisfies a portion of the criteriaincluded in the curation data, and wherein the matching or satisfiedportion of the criteria of the curation data identifies a title orsubject matter indicator of the collaboration session.
 11. The system ofclaim 4, wherein words or subject matter identified by one of theattributes of a first priority digital asset, of the first prioritydigital assets, matches or satisfies a portion of the criteria includedin the curation data, and wherein the matching or satisfied portion ofthe criteria of the curation data identifies one or more words in ameeting agenda associated with the collaboration session.
 12. The systemof claim 4, wherein a user name identified by one of the attributes of afirst priority digital asset, of the first priority digital assets,matches or satisfies a portion of the criteria included in the curationdata, and wherein the matching or satisfied portion of the criteria ofthe curation data identifies a name of a participant of thecollaboration session.
 13. The system of claim 4, wherein a departmentor job title identified by one of the attributes of a first prioritydigital asset, of the first priority digital assets, matches orsatisfies a portion of the criteria included in the curation data, andwherein the matching or satisfied portion of the criteria of thecuration data identifies a department or job title associated with oneor more participants of the collaboration session.
 14. The system ofclaim 4, wherein an edit timestamp or an access timestamp identified byone of the attributes of a first priority digital asset, of the firstpriority digital assets, matches or satisfies a portion of the criteriaincluded in the curation data, and wherein the matching or satisfiedportion of the criteria of the curation data identifies top two mostrecently edited or accessed digital assets.
 15. The system of claim 4,wherein a score identified by one of the attributes of a first prioritydigital asset, of the first priority digital assets, meets or exceeds athreshold score identified by the criteria included in the curationdata.
 16. The system of claim 15, wherein the score is calculated independence upon a predefined criterion.
 17. The system of claim 15,wherein the threshold score is set to a predefined value and thepredefined value can be adjusted by a user before or during thecollaboration session.
 18. The system of claim 4, wherein words orsubject matter identified by one of the attributes associated with apage or portion of a first priority digital asset, of the first prioritydigital assets, matches a portion of the criteria included in thecuration data, wherein the matching portion of the criteria of thecuration data identifies a title or subject matter indicator of thecollaboration session, and wherein the rendering renders the page or theportion of the first priority digital asset.
 19. The system of claim 1,wherein the client-side network node is further configured with logic toimplement operations including: rendering an automatically populatedgraphical user interface that identifies two or more attributes of thedigital assets located within the local client viewport; receiving aselection from a user of a particular attribute, of the two or moreattributes identified in the graphical user interface; and renderingdigital assets having an attribute that matches the particular attributeselected by the user.
 20. The system of claim 1, wherein each digitalasset of a plurality of digital assets within the virtual workspace hasa score associated therewith, and wherein the client-side network nodeis further configured with logic to implement operations includingidentifying a predetermined number of top scoring digital assets asbelonging to the first curated set.
 21. A method for hosting acollaboration session, the method including: retrieving, by aclient-side network node including a display having a physical displayspace and from a server-side network node, a spatial event mapidentifying events in a virtual workspace, the virtual workspacecomprising locations having virtual coordinates, the events identifiedby the spatial event map being related to digital assets within thevirtual workspace; identifying a local client viewport in the virtualworkspace, the local client viewport representing a location anddimensions in the virtual workspace including a plurality of digitalassets; and rendering, in the display space on the display, a firstcurated set of digital assets of the plurality of digital assets thatare included in the location and dimensions in the virtual workspacerepresented by the local client viewport, the digital assets of thefirst curated set including only digital assets identified as firstpriority digital assets and excluding other digital assets, of theplurality of digital assets, not identified as being first prioritydigital assets.
 22. A collaboration system hosting a collaborationsession, between client-side network nodes, each including a displayhaving a physical display space and a processor, the collaborationsystem comprising: a server-side network node configured with logic toimplement operations including: establishing a collaboration sessionbetween the client-side network nodes; receiving an identification of avirtual workspace; and within the collaboration session: providing, tothe client-side network nodes, a spatial event map identifying events inthe virtual workspace, the virtual workspace comprising locations havingvirtual coordinates, the events identified by the spatial event mapbeing related to digital assets within the virtual workspace; whereinthe spatial event map allows for identification, for the client-sidenetwork nodes, of a local client viewport in the virtual workspace, thelocal client viewport representing a location and dimensions in thevirtual workspace including a plurality of digital assets; and whereinthe spatial event map allows for rendering, in the display space on thedisplay of each of the client-side network nodes, a first curated set ofdigital assets of the plurality of digital assets that are included inthe location and dimensions in the virtual workspace represented by thelocal client viewport, the digital assets of the first curated setincluding only digital assets identified as first priority digitalassets and excluding other digital assets, of the plurality of digitalassets, not identified as being first priority digital assets.